Method and arrangement for automatic frequency correction

ABSTRACT

A method and arrangement for automatic frequency correction in UTRA TDD mode, having a first stage ( 500 ) for frequency lock in idle mode, and a second stage ( 600 ) for receiving a channel estimate from beacon function (mx 1 ), receiving a channel estimate from at least one other physical channel (mx 2 ), and receiving output from a primary synchronisation code correlator (mx 0 , pc 1 , pc 2 ), and for producing therefrom signals (X,Y,N) for use in frequency correction. By utilising first and second partial correlation values (pc 1 , pc 2 ) which are balanced, DC offset effects may be substantially removed. This provides the following advantage of significantly improving performance at low levels of SNR, and removal of DC offset effects provides immunity to DC offsets arising from imperfections in hardware.

FIELD OF THE INVENTION

[0001] This invention relates to wireless communication networks and particularly to UTRA (Universal Mobile Telephone System Terrestrial Radio Access) networks operating in TDD (Time Division Duplex) mode.

BACKGROUND OF THE INVENTION

[0002] In UTRA TDD mode the synchronisation channel (SCH) has two functions. The primary function is to provide a signal that enables a ‘UE’ (user equipment, such as a wireless terminal) to search for and identify a ‘Node B’ (i.e, a wireless Base Station of a UMTS system). The secondary function is to provide sufficient information to allow a UE to demodulate a P-CCPCH (Primary Common Control Physical CHannel) transmission and obtain the system information, sent on the BCH (Broadcast Channel) transport channel which is carried by the P-CCPCH, needed in order to be able to communicate with the network. The physical channel P-CCPCH has the characteristics of the Beacon Function, as defined in the technical specification ‘3GPP TS 25.221’ publicly available on the website (www.3gpp.org) of the 3^(rd) Generation Partnership Project.

[0003] There are two cases of SCH and P-CCPCH allocation as follows: Case 1) SCH and P-CCPCH allocated in timeslot #k, where k = 0 . . . 14 Case 2) SCH allocated in two timeslots: timeslot #k and timeslot #k + 8, where k = 0 . . . 6; P-CCPCH allocated in timeslot #k

[0004] where timeslot #k is the k^(th) timeslot. Due to this SCH scheme, the position of P-CCPCH is known from the SCH. The SCH consists of one real-valued primary synchronisation code (PSC) and three complex secondary synchronisation codes (SSCs), all of length 256 chips. The PSC is common for all Node Bs, but the SSCs are Node B specific. The PSC and SSC are transmitted simultaneously from a given Node B at a specific fixed time offset (t_(offset)) from the start of the timeslot. The time offset is included to prevent the possible capture effect that would otherwise occur as a consequence of all Node Bs transmitting the common primary code at the same time.

[0005] Automatic Frequency Correction (AFC) is typically employed in UTRA TDD mode to correct for frequency offsets occurring in the presence of noise in the received signal. In UTRA TDD mode the PSC typically operates in negative values of SNR, which with conventional methods of AFC give rise to a large frequency offset, degrading performance.

[0006] A need therefore exists for frequency correction wherein the abovementioned disadvantage(s) may be alleviated.

STATEMENT OF INVENTION

[0007] In accordance with a first aspect of the present invention there is provided a method for automatic frequency correction in UTRA TDD mode, the method comprising:

[0008] performing a frequency lock with a signal including received samples; and

[0009] receiving a channel estimate from beacon function, receiving a channel estimate from at least one other physical channel, and receiving output from a primary synchronisation code correlator, and for producing therefrom signals for use in frequency correction.

[0010] In accordance with a second aspect of the present invention there is provided an arrangement for automatic frequency correction in UTRA TDD mode, the arrangement comprising:

[0011] means for performing a frequency lock with a signal including received samples; and

[0012] means for receiving a channel estimate from beacon function, receiving a channel estimate from at least one other physical channel, and receiving output from a primary synchronisation code correlator, and for producing therefrom signals for use in frequency correction.

BRIEF DESCRIPTION OF THE DRAWINGS

[0013] One method and arrangement for multistage frequency correction incorporating the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:

[0014]FIG. 1 shows in schematic form the format of SCH in UTRA TDD mode;

[0015]FIG. 2 shows in schematic form a prior art arrangement for Automatic Frequency Control in UTRA TDD mode;

[0016]FIG. 3 shows a graphical representation of the Frequency Offset performance of the AFC arrangement of FIG. 2 as a function of Signal-to-Noise Ratio (SNR);

[0017]FIG. 4 shows in block schematic form the process flow of AFC employed in the present invention;

[0018]FIG. 5 shows in block schematic form a first stage in AFC employed in the present invention;

[0019]FIG. 6 shows in block schematic form a second stage in AFC employed in the present invention; and

[0020]FIG. 7 shows a graphical representation of the Frequency Offset performance of the AFC arrangement of FIGS. 4, 5 & 6 as a function of Signal-to-Noise Ratio (SNR).

DESCRIPTION OF PREFERRED EMBODIMENTS

[0021] The general format of the SCH is shown schematically in FIG. 1. As shown, the primary synchronisation code (PSC), C_(p), is a real-valued sequence of length 256 chips, transmitted at power P_(PSC). The secondary synchronisation code (SSC), C_(s,i)(i=1, 2, 3), of length 256 is transmitted simultaneously with the PSC; the total power of the SSC is set to P_(SSC). In addition these codes are multiplied by a complex value, b_(j)(j=1, 2, 3). The subscript s in C_(s,i) refers to a code set, of which there 32, as specified in the technical specification ‘3GPP TS 25.223’ publicly available on the website (www.3gpp.org) of the 3^(rd) Generation Partnership Project. The code sets, s, in conjunction with the complex multiplier values, b_(j), are used to transfer the information bits to the UE.

[0022] The location of the SCH relative to the beginning of the time slot is defined by t_(offset,n). It is calculated as follows: $t_{{offset}\quad,n} = \left\{ \begin{matrix} {{{n.T_{c}}\left\lfloor \frac{976 - 256}{15} \right\rfloor \quad n} < 16} \\ {{{\left( {976 + 512 + {\left( {n - 16} \right)\left\lfloor \frac{976 - 256}{15} \right\rfloor}} \right)T_{c\quad}\quad n} \geq 16}\quad} \end{matrix} \right.$

[0023] which can be simplified to: $t_{{offset}\quad,n} = \left\{ \begin{matrix} {{n{{.48}.T_{c}}\quad n} < 16} \\ {{{\left( {720 + {n{.48}}} \right)T_{c}\quad n} \geq 16}\quad} \end{matrix} \right.$

[0024] where T_(c) is the chip duration and n=0, 1, . . . , 31. The value of n is related to the code group and is obtained by demodulating the information on the SSC.

[0025] The PSC, p, is constructed as a generalised hierarchical Golay sequence. The sequence used for p has been chosen to have good a periodic autocorrelation properties. Defining a sequence ‘G’ as

[0026] G=[g₁g₂g₃ . . . g₁₆]=[1 1 1 −1 −1 1 −1 −1 1 1 −1 −1 1 1]

[0027] and defining a sequence ‘a’ as

[0028] a=[1 1 1 1 1 1 −1 −1 1 −1 1 −1 1 −1 −1 1]

[0029] the primary code sequence is obtained by spreading sequence ‘G’ by the sequence ‘a’, producing the resulting primary sequence given by

p=(1+j).[g ₁ ·a g ₂ ·a g ₃ ·a . . . g ₁₆ ·a]

[0030] Referring now to FIG. 2, a conventional Automatic Frequency Correction (AFC) system 200 consists of a frequency estimator 210, a filter 220, and a Voltage Controlled Oscillator (VCO) 230.

[0031] The received samples are applied to PSC correlator 240. The vector of received samples that produced the highest correlation peak are applied to the frequency estimator 210. Let r=(r₀, . . . , r₂₅₅) be the sequence of received samples that produce the highest complex peak at the output of PSC correlator, and p=(p₀, . . . , p₂₅₅) be the complex PSC. Then we can write

r=p+n

[0032] where n=(n₀, . . . , n₂₅₅) is a noise/interference vector with zero mean and variance 2σ². In order to obtain an estimate of the frequency offset, we take partial correlations of the PSC such that ${pc}_{1} = {\sum\limits_{i = 0}^{127}{r_{i}p_{i}^{*}}}$ ${pc}_{2} = {\sum\limits_{i = 0}^{127}{r_{i + 128}p_{i + 128}^{*}}}$

[0033] where pc₁ and pc₂ are the result of 2 partial correlations of length 128. The phase difference between pc₁ and pc₂ is given by:

C=pc ₁ ×pc* ₂ ${\Delta\varphi} = {\tan^{- 1}\left( \frac{{Im}(C)}{{Re}(C)} \right)}$

[0034] A look-up table generally provides the tan⁻¹(·) function. The instantaneous frequency offset is given by: ${\Delta \quad f_{k}} = {{\frac{1}{2\pi}\frac{\Delta\varphi}{dt}} = {\frac{1}{2\pi}\frac{\Delta\varphi}{128T_{c}}{Hz}}}$

[0035] where T_(c) is the chip period and 128 is the distance in chips between the correlation peaks pc₁ and pc₂. The instantaneous frequency offset is filtered to obtain an average value, and then applied to a Voltage Controlled Oscillator, which is adjusted to remove the frequency difference.

[0036] Considering the frequency estimator in more detail, and supposing there is no frequency offset, but Gaussian noise is present, then the output of the two partial correlators is given by

pc ₁ =U ₁ +N ₁

pc ₂ =U ₂ +N ₂

[0037] where U₁=U₂=128, $N_{1} = {\sum\limits_{i = 0}^{127}{n_{i}p_{i}^{*}}}$

[0038] and $N_{2} = {\sum\limits_{i = 0}^{127}{n_{i + 128}{p_{i + 128}^{*}.}}}$

[0039] The phase perturbation by the noise term is given by C = (128² + 128(N₂^(*) + N₁)) ${\Delta\varphi} = {\tan^{- 1}\left( \frac{\left\lbrack {{Im}\left( {N_{2}^{*} + N_{1}} \right)} \right\rbrack}{\left\lbrack {{Re}\left( {128 + N_{2}^{*} + N_{1}} \right)} \right\rbrack} \right)}$

[0040] We note the maximum phase perturbation occurs when (N*₂+N₁) is purely imaginary. We write ${\Delta\varphi}_{\max} = {\tan^{- 1}\left( \frac{\left\lbrack {{Im}\left( {N_{2}^{*} + N_{1}} \right)} \right\rbrack}{128} \right)}$

[0041] Recognising that the variance of the items inside the brackets yields $\frac{{E\left( \left| N_{2}^{*} \right|^{2} \right)} + {E\left( \left| N_{1} \right|^{2} \right)}}{128^{2}} = \frac{2\sigma^{2}}{128}$

[0042] we can rewrite the phase perturbation at the output of the partial correlator as $\varphi_{1,n} = {\tan^{- 1}\left( \frac{1}{\sqrt{128 \times \quad {SNR}_{ip}}} \right)}$

[0043] where the SNR at the input to the partial correlator is given by ${SNR}_{ip} = {\frac{E\left( {p}^{2} \right)}{E\left( {n}^{2} \right)} = \frac{1}{2\sigma^{2}}}$

[0044] and the expectation operator, E(·), is taken over 128 chips. FIG. 3 shows the frequency offset generated for varying levels of SNR_(ip). In UTRA TDD mode the PSC typically operates in negative values of SNR, which with the above-described conventional method of AFC gives rise to a large frequency offset, degrading performance.

[0045] The present invention proposes a method and arrangement for AFC in UTRA TDD mode which facilitates improved performance under low values of SNR.

[0046] Referring now to FIG. 4, in a preferred embodiment of the invention AFC consists of two stages:

[0047] Stage 1—operated in Idle mode only

[0048] Stage 2—operated in Idle/Connected mode

[0049] The first stage is used to obtain fast acquisition, by initially using a wide bandwidth and then narrowing to suppress noise and interference. The second stage is used to further improve performance under severe noise conditions.

[0050] The analysis below utilises the following variables:

[0051] mx₀: Complex peak from the output of the PSC correlator,

[0052] mx₁: Complex peak from the output of the Beacon function channel estimator, and

[0053] mx₂: Complex peak from the output of the channel estimator located in adjacent timeslot to the Beacon function (although the adjacent timeslot is used here, it can be shown that other timeslot pairings also apply).

[0054] As shown in FIG. 4, the AFC algorithm is given by:

C=X×Y*  (410)

[0055] where X and Y ε{(pc₁, pc₂),(mx₂, mx₁),(mx₀, mx₁)}. An estimate of the phase difference is given by $\begin{matrix} {{\Delta \quad \varphi} = {{\tan^{- 1}\left( \frac{{Im}(C)}{{Re}(C)} \right)}{rads}}} & (420) \end{matrix}$

[0056] A look-up table can provide this function. The instantaneous frequency offset is given by: $\begin{matrix} {{\Delta \quad f_{k}} = {{\frac{1}{2\quad \pi}\Delta \quad \frac{\varphi}{dt}} = {\frac{1}{2\pi}\frac{\Delta \quad \varphi}{{NT}_{c}}{Hz}}}} & (430) \end{matrix}$

[0057] where N is the distance in chips between the X and Y samples and T_(c) is the chip period. The running mean of the frequency offset is given by ${\Delta \quad {\overset{-}{f}}_{k}} = {{\underset{i = 1}{\sum\limits^{k}}{\Delta \quad f_{i}}}}$

[0058] where the over-bar denotes mean value. The mean of the frequency offset is used to trigger certain events during initial synchronization. The instantaneous frequency offset is filtered, giving

f _(k) =Af _(k−1) +BΔf _(k)  (440)

[0059] The output of the filter is multiplied by the loop gain constant K, yielding the output

f _(l,k) =Kf _(k)  (450)

[0060] This output f_(l,k) is subsequently applied to a single-bit DAC (not shown), which is used to derive a suitable voltage level for tuning the VCO.

[0061] AFC Stage 1

[0062] As shown is FIG. 5, two processes are implemented in Stage 1 (500):

[0063] a) Bandwidth reduction (processes 510 and 520, shown together as 530), and

[0064] b) Signalling of AFC lock (540) so Stage 2 can be entered.

[0065] Stage1/Process A

[0066] The UE is powered up and starts an initial cell search. Once Frame lock has been acquired, the UE attempts to achieve frequency lock with the Node B.

[0067] Let the first radio frame after frame lock be k=1, and the initial loop parameters are set to X=pc₁, Y=pc₂, N=128, in addition to ensure a quick acquisition time filter constants A and B and the loop gain K are set to:

[0068] A=Wide_1, B=Wide_2, K=Wide_3

[0069] Where Wide_1, Wide_2, and Wide_3 have been chosen to ensure a wide bandwidth. After N_(B) samples of Δf_(k), the mean Δ{overscore (f)}_(k,B) is calculated. If Δ{overscore (f)}_(kB) is less than a first predetermined value Set_Frequency1, the counter N_(A) is incremented. Once N_(A) has reached a specified value the loop gain and also the filter constants are updated to:

[0070] A=Narrow_1, B=Narrow_2, K=Narrow_3

[0071] Where, Narrow_1, Narrow_2, and Narrow_3 have been chosen to ensure a narrow bandwidth. If Δ{overscore (f)}_(k,B) is greater than Set_Frequency1 the next value ΔA{overscore (f)}_(k+1) is calculated, and ΔA{overscore (f)}_(k+1,B) is calculated, repeating the above test. This process operates under a sliding window of span N_(B) and is given by ${\Delta \quad {\overset{-}{f}}_{k,B}} = {{{\underset{i = {k - N_{B} + 1}}{\sum\limits^{k}}{\Delta \quad f_{i}}}}:{k \geq N_{B}}}$

[0072] Process B can only be entered when the loop gain and filter constants have been updated in Process A.

[0073] Stage1/Process B

[0074] This process is used to signal that AFC lock has been acquired. N_(A) is reset to 0 and N_(B)+A is considered to be the number of samples required to trigger the Process 1, where Δ is additional samples. After N_(B)+Δ+N_(L) samples, ΔA{overscore (f)}_(k) is calculated across a range of N_(L). This is given by ${\Delta \quad {\overset{-}{f}}_{k}} = {{{\underset{i = {k - N_{L} + 1}}{\sum\limits^{k}}{\Delta \quad f_{i}}}}:{k \geq {N_{B} + \Delta + {2N_{L}}}}}$

[0075] When ΔA{overscore (f)}_(k) is less than a second predetermined value Set_Frequency2, the counter N_(A) is incremented. Stage 1 is exited when N_(A) reaches a specified value that signifies AFC lock has occurred.

[0076] AFC Stage 2

[0077] Referring now also to FIG. 6, when Stage 1 has been exited the UE will attempt to demodulate the SSC to determine the cell time offset. Once the UE is aware of the cell time offset, it will attempt to demodulate the beacon function on every radio frame. Similarly, once the UE moves from idle mode into connected mode channel estimate information may be available from other physical channels.

[0078] Therefore, in connected mode the UE should have at its disposal the channel estimate from the beacon function (mx₁), the channel estimate from other physical channels, for example the adjacent timeslot to the Beacon function (mx₂), and the output of the PSC correlator (mx₀, pc₁, pc₂). The algorithm for Stage 2 (600) is given by

[0079] If ΔA{overscore (f)}_(k)<Set_Frequency2

[0080] If mx₁>0 & mx₂>0

[0081] X=mx₂

[0082] Y=mx₁

[0083] N=−2560

[0084] elseif mx₁>0

[0085] X=mx₀

[0086] Y mx₁ $N = \left( {1261 - \left( {\frac{t_{{offset},\quad n}}{T_{c}} + 128} \right)} \right)$

[0087] else

[0088] X=pc₁

[0089] Y=pc₂

[0090] N=128

[0091] end

[0092] else

[0093] X=pc₁

[0094] Y=pc₂

[0095] N=128

[0096] end

[0097] Essentially, the quality of the estimate degrades as we move through the control flow, the best estimate being given by mx₁ and mx₂. The mean of the frequency estimate is continually examined in order to detect any sudden frequency changes. This is achieved by continually testing for Set_Frequency2, if this value is exceeded the partial correlations from the PSC are employed. When channel estimate information is used from other timeslots, we only use channel estimates from adjacent slots so as to prevent aliasing. The allowed timeslot pairings are given in the following table. Pairing mx₁ mx₂ 0 0 1 1 1 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 8 9

[0098] The value of N is fixed at −2560 for any pairing, and only one estimate should be used per frame. If multiple pairings are available, then the average should be taken.

[0099] The improvement in SNR through AFC stage 2 is shown in the FIG. 7, in which three different cases (i), (ii) and (iii) are compared:

[0100] (i) Conventional Method: X=pc₁, Y=pc₂, N=128

[0101] (ii) X=mx₀, Y=mx₁, n=16, N=413

[0102] (iii) X=mx₂, Y=mx₁, N=−2560

[0103] For case (ii) the improvement for the smallest value of N can be seen, which occurs when n=15.

[0104] As will be shown below, further improvement of the two-stage AFC process described above is possible to remove DC offset typically arising from imperfections in the hardware. DC removal is achieved in the following manner:

[0105] Suppose the discrete time received sequence is given by

r=p+n+I _(dc)

[0106] where I_(dc) is complex DC interference. If the sequence has a length of 128 chips, then we can write the autocorrelation function (ACF) at zero shift of P_(k) as ${pc} = {\underset{i = 0}{\sum\limits^{127}}{r_{i}p_{i}^{*}}}$

[0107] Rewriting gives ${pc} = {{\underset{i = 0}{\sum\limits^{127}}{p_{i}p_{i}^{*}}} + {\underset{i = 0}{\sum\limits^{127}}{n_{i}p_{i}^{*}}} + {I_{dc}{\underset{i = 0}{\sum\limits^{127}}p_{i}^{*}}}}$

[0108] By designing the sequence such that the sum of the elements is zero the DC interference can be effectively removed, we have ${pc} = {{\sum\limits_{i = 0}^{127}\quad {p_{i}p_{i}^{*}}} + {\sum\limits_{i = 0}^{127}{n_{i}p_{i}^{*}}}}$ Let ${\sum\limits_{i = 0}^{127}p_{i + {\alpha \quad 16}}} = {4 \times \left( {1 + j} \right) \times {\sum\limits_{j = 1}^{8}g_{j + \alpha}}}$

[0109] where Σa=4, and α=(0,1, . . . , 8). The sequence balance is given in the table below. α ${{Sequence}\quad {Balance}} = {\sum\limits_{j = 1}^{8}g_{j + a}}$

0 0 1 0 2 0 3 0 4 0 5 2 6 0 7 2 8 4

[0110] By examining the above table we see that the conventional approach uses sequences α=(0,8) which gives the highest level of DC gain. We choose a=(0,6) which gives a pair of with maximum distance in terms of N. The modified partial correlations become ${pc}_{1} = {\sum\limits_{i = 0}^{127}{r_{i}p_{i}^{*}}}$ ${pc}_{2} = {\sum\limits_{i = 0}^{127}{r_{i + 96}p_{i + 96}^{*}}}$

[0111] where the time shift of the second partial correlation has been reduced from 128 to 96 to ensure DC cancellation. In terms of frequency estimation, this means that N is also reduced from 128 to 96.

[0112] It will be appreciated that the method for automatic frequency control described above will typically be carried out in software running on a processor (not shown), and that the software may be provided as a computer program element carried on any suitable data carrier (not shown) such as a magnetic or optical computer disc.

[0113] It will be appreciated that the above described AFC method and arrangement are based on an improved AFC scheme for correction of frequency offsets in UTRA TDD mode.

[0114] It will be understood that the improved AFC scheme provides the following advantages: the multistage scheme for correction of frequency offsets in UTRA TDD mode allows operation under very high levels of noise, and is also immune to DC offsets arising from imperfections in the hardware. 

1. A method for automatic frequency correction in UTRA TDD mode, the method comprising: performing a frequency lock with a signal including received samples; and receiving a channel estimate from beacon function, receiving a channel estimate from at least one other physical channel, and receiving output from a primary synchronisation code correlator, and for producing therefrom signals for use in frequency correction.
 2. The method of claim 1, wherein the step of performing a frequency lock comprises performing a frequency lock in idle mode.
 3. The method of claim 1, wherein the step of performing a frequency lock comprises: performing a first frequency lock at a relatively wide bandwidth; and performing a second frequency lock at a relatively narrow bandwidth.
 4. The method of claim 1 wherein the step of performing a frequency lock comprises a step of confirming frequency lock.
 5. The method of claim 1 wherein the step of producing signals for use in frequency correction comprises utilising first and second partial correlation values which are balanced so as to substantially remove DC offset effects.
 6. An arrangement for automatic frequency correction in UTRA TDD mode, the arrangement comprising: means for performing a frequency lock with a signal including received samples; and means for receiving a channel estimate from beacon function, receiving a channel estimate from at least one other physical channel, and receiving output from a primary synchronisation code correlator, and for producing therefrom signals for use in frequency correction.
 7. The arrangement of claim 6, wherein the means for performing a frequency lock comprises means for performing a frequency lock in idle mode.
 8. The arrangement of claim 6, wherein the means for performing a frequency lock comprises: means for performing a first frequency lock at a relatively wide bandwidth; and means for performing a second frequency lock at a relatively narrow bandwidth.
 9. The arrangement of claim 6, wherein the means for performing a frequency lock comprises means for confirming frequency lock.
 10. The arrangement of claim 6, wherein the means for producing signals for use in frequency correction comprises means for utilising first and second partial correlation values which are balanced so as to substantially remove DC offset effects.
 11. User equipment for use in a UMTS system, comprising an arrangement as claimed in claim
 6. 12. A computer program element comprising computer program means for performing automatic frequency control functions as claimed in claim
 1. 